package cn.tedu.file;

import java.io.*;

/**本类用于练习字节输入流*/
public class TestIn {
    public static void main(String[] args) {
        method1();
        method2();

    }



    private static void method2() {
    }

    private static void method1() {
        //1.创建字节输入流对象用于读取
//        InputStream in = new InputStream();抽象类,不可实例化
//        File file = new File("F:\\ready\\1.txt");
        //1.定义一个在本方法中都生效的局部变量，并给局部变量赋值
        InputStream in2 = null;//是引用变量，默认值是null
        try {
//            InputStream in = new FileInputStream(new File("F:\\ready\\1.txt"));不常用
            in2 = new FileInputStream("F:\\ready\\1.txt");

            //2.开始读取
            /**read()每次调用都会读取一个字节，如果读到了数据的末尾，就会输出 -1 */
            System.out.println(in2.read());
//            System.out.println(in2.read());
//            System.out.println(in2.read());
//            System.out.println(in2.read());
//            System.out.println(in2.read());
            //需求：需要循环读取文件中的所有内容，直至读完
            //定义变量，记录读到的数据
            int b;
            while((b = in2.read()) !=-1){
                System.out.println(b);
            }

        } catch (Exception e) {
            e.printStackTrace();//打印错误找轨迹,出错了给程序员看,方便调错
            /**finally{}是try-catch结构在的第3个部分
             * 这部分不论是否捕获到异常，是一定会被执行到的代码块，常用于关流*/
        } finally{
            //3.关流，流资源使用完毕必须释放！
            try {
                in2.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }
}
